home *** CD-ROM | disk | FTP | other *** search
/ CD Ware Multimedia 1994 November / Cd Ware (Nro. 2) - Epimundo.iso / DOS / PG / MNG132.ZIP / TEST.PAS < prev   
Encoding:
Pascal/Delphi Source File  |  1994-04-01  |  2.3 KB  |  162 lines

  1. unit Test;
  2.  
  3. interface
  4.  
  5.  
  6. type
  7.   PParagraph = ^TParagraph;
  8.   TParagraph = record
  9.     Next: PParagraph;
  10.     Wrap: Boolean;
  11.     Size: Word;
  12.     Text: record end;
  13.   end;
  14.  
  15.   XAddress = record
  16.     case integer of
  17.       1: (offs : word;
  18.           page : word);
  19.       2: (l : longint);
  20.       3: (p : pointer);
  21.   end;
  22.  
  23. const
  24.   a = 100;
  25.  
  26. type
  27.   o = object
  28.     b : string;
  29.     Wrapped : (wrNone, wrEOF, wrBOF);
  30.     procedure fb(const a : string; a2 : string);
  31.   end;
  32.  
  33. var
  34.   b,bnog : word;
  35.   c : record
  36.     d : word;
  37.     e : string;
  38.   end;
  39.   s : string;
  40.  
  41. procedure fa;  far;
  42.  
  43.  
  44. implementation
  45.  
  46. uses BBUtil;
  47.  
  48. type
  49.   TFormatParam = record
  50.     case boolean of
  51.       true : (L : longint);
  52.       false: (P : pointer);
  53.     end;
  54.   TProc = procedure;
  55.  
  56. const
  57.   d = 120;
  58. type
  59.   o2 = object
  60.     a : array[1..d] of string;
  61.     procedure fa;
  62.   end;
  63.  
  64.  
  65. procedure fb(a : string);  forward;
  66.  
  67.  
  68. procedure o.fb(const a : string; a2 : string);
  69. label 1;
  70. begin
  71.   writeln(a+b);
  72.   goto 1;
  73. 1:
  74.   a2 := 'asd';
  75. end;
  76.  
  77. procedure o2.fa;
  78. var
  79.   number : real;
  80. begin
  81.   writeln(a[4]);
  82.   if abs (number) > 1.0E+37 then
  83.     number := 1.000;
  84. end;
  85.  
  86. procedure fa;
  87. var
  88.   b,b2 : integer;
  89.   c : record
  90.     d : record
  91.       r1 : word;
  92.       r3 : char;
  93.     end;
  94.     e : string;
  95.   end;
  96.   e : string;
  97.  
  98.   procedure fa2;
  99.   var
  100.     b : word;
  101.   begin
  102.     s := 'Hai';
  103.     e := s + StrW(c.d.r1);
  104.   end;
  105.  
  106. begin
  107.   b := a;
  108.   with c,d do  begin
  109.     r1 := b;
  110.   end;
  111.   for b2 := 0 to a do  begin
  112.     fa;
  113.   end;
  114. end;
  115.  
  116. procedure fb(a : string);
  117. var
  118.   r : record
  119.         b : integer;
  120.       end;
  121.   ch : char;
  122. begin
  123.   asm
  124.     mov ax,WORD PTR a[1]
  125.     mov bx,r.b
  126.     mov al,ch
  127.     mov al,&ch
  128.   end;
  129. end;
  130.  
  131. procedure fc(a : string);  assembler;
  132. var
  133.   r : record
  134.         b : integer;
  135.       end;
  136.   ch : char;
  137. asm
  138.   mov ax,WORD PTR a[1]
  139.   mov bx,r.b
  140.   mov al,ch
  141.   mov al,&ch
  142. end;
  143.  
  144. procedure FillWord(var Dest; Count, Data : word);
  145. begin
  146.   inline(
  147.     $C4/$BE/Dest/    { LES DI, Dest[BP] }
  148.     $8B/$8E/Count/   { MOV CX, Count[BP] }
  149.     $8B/$86/Data/    { MOV AX,Data[BP] }
  150.     $FC/             { CLD }
  151.     $F3/$AB);        { REP STOSW }
  152. end;
  153.  
  154. procedure DisableInterrupts; inline($FA);  { CLI }
  155.  
  156. function LongMul(X,Y : integer) : longint;
  157. inline(
  158.   $5A/
  159.   $58/
  160.   $F7/$EA);
  161.  
  162. end.